#pragma once
#include <stdio.h>;
#include <stdlib.h>;
#include <assert.h>;
#include <stdbool.h>;

typedef int QLDatatype;
//链式结构，表示队列
typedef struct QListNode
{
	struct QListNode* next;
	QLDatatype data;
}QNode;
//队列的结构
typedef struct queue
{
	QNode* head;
	QNode* tail;
	int size;
}Queue;

void QueueInit(Queue* ps);
void QueueDestroy(Queue* ps);
void QueuePush(Queue* ps, QLDatatype x);
void QueuePop(Queue* ps);
QLDatatype QueueFront(Queue* ps);
QLDatatype QueueTail(Queue* ps);
int QueueSize(Queue* ps);
bool QueueEmpty(Queue* ps);
